/* 
 * Header file with defined settings
 * Programming by SochiX (http://sochix.ru)
 */


#ifndef _DEF_HPP
#define _DEF_HPP
#include <string>
#include "graph/color.hpp"
#include "math/material.hpp"

namespace Defined
{
	//Windows settings
	static const std::string WindowCaption = "RayTracer[ver. 0.5.2]";
	static const std::string PathToIcon = "icon.bmp";

	//Render defines
	static const double EPS=0.001;
	static const double GeomThreshold=0.001;
	static const double TraceDepth=5;
	static const int AntiAlising=1;

	//Some graph consts
	static const unsigned short int width=1024;
	static const unsigned short int height=768;
	static const int fieldOfView=-650; //-350 ideal for 640 480


	//Screenshots vars
	static const std::string PREFIX = "C:\\RTscreenshots\\";
	static const std::string EXTENSION = ".bmp";

	//Predefined colors
	static const Color Red(1,0.0,0.0);
	static const Color Green(0.0,1,0.0);
	static const Color Blue(0.0,0.0,1);
	static const Color White(1,1,1);
	static const Color Black(0,0,0);
	static const Color Yellow(1,0.8,0);

	//Predefined materials
	static Material FullReflect(1.0,Black);
	static Material NonReflect(0.0,White);
	static const Material GlossyRed(0.5,Red);
	static const Material GlossyGreen(0.5,Green);
	static const Material GlossyBlue(0.5,Blue);
	static const Material GlossyWhite(0.5,White);
}

#endif	/* _DEF_HPP */
